﻿/*
 Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
(function(){
    var r=function(c,j){
        function r(){
            var a=arguments,b=this.getContentElement("advanced","txtdlgGenStyle");
            b&&b.commit.apply(b,a);
            this.foreach(function(b){
                b.commit&&"txtdlgGenStyle"!=b.id&&b.commit.apply(b,a)
            })
        }
        function i(a){
            if(!s){
                s=1;
                var b=this.getDialog(),d=b.imageElement;
                if(d){
                    this.commit(f,d);
                    for(var a=[].concat(a),e=a.length,c,g=0;g<e;g++)(c=b.getContentElement.apply(b,a[g].split(":")))&&c.setup(f,d)
                }
                s=0
            }
        }
        var f=1,k=/^\s*(\d+)((px)|\%)?\s*$/i,v=/(^\s*(\d+)((px)|\%)?\s*$)|^$/i,o=/^\d+px$/,
        w=function(){
            var a=this.getValue(),b=this.getDialog(),d=a.match(k);
            d&&("%"==d[2]&&l(b,!1),a=d[1]);
            b.lockRatio&&(d=b.originalElement,"true"==d.getCustomData("isReady")&&("txtHeight"==this.id?(a&&"0"!=a&&(a=Math.round(d.$.width*(a/d.$.height))),isNaN(a)||b.setValueOf("info","txtWidth",a)):(a&&"0"!=a&&(a=Math.round(d.$.height*(a/d.$.width))),isNaN(a)||b.setValueOf("info","txtHeight",a))));
            g(b)
        },g=function(a){
            if(!a.originalElement||!a.preview)return 1;
            a.commitContent(4,a.preview);
            return 0
        },s,l=function(a,
            b){
            if(!a.getContentElement("info","ratioLock"))return null;
            var d=a.originalElement;
            if(!d)return null;
            if("check"==b){
                if(!a.userlockRatio&&"true"==d.getCustomData("isReady")){
                    var e=a.getValueOf("info","txtWidth"),c=a.getValueOf("info","txtHeight"),d=1E3*d.$.width/d.$.height,f=1E3*e/c;
                    a.lockRatio=!1;
                    !e&&!c?a.lockRatio=!0:!isNaN(d)&&!isNaN(f)&&Math.round(d)==Math.round(f)&&(a.lockRatio=!0)
                }
            }else void 0!=b?a.lockRatio=b:(a.userlockRatio=1,a.lockRatio=!a.lockRatio);
            e=CKEDITOR.document.getById(p);
            a.lockRatio?
            e.removeClass("cke_btn_unlocked"):e.addClass("cke_btn_unlocked");
            e.setAttribute("aria-checked",a.lockRatio);
            CKEDITOR.env.hc&&e.getChild(0).setHtml(a.lockRatio?CKEDITOR.env.ie?"■":"▣":CKEDITOR.env.ie?"□":"▢");
            return a.lockRatio
        },x=function(a){
            var b=a.originalElement;
            if("true"==b.getCustomData("isReady")){
                var d=a.getContentElement("info","txtWidth"),e=a.getContentElement("info","txtHeight");
                d&&d.setValue(b.$.width);
                e&&e.setValue(b.$.height)
            }
            g(a)
        },y=function(a,b){
            function d(a,b){
                var d=a.match(k);
                return d?
                ("%"==d[2]&&(d[1]+="%",l(e,!1)),d[1]):b
            }
            if(a==f){
                var e=this.getDialog(),c="",g="txtWidth"==this.id?"width":"height",h=b.getAttribute(g);
                h&&(c=d(h,c));
                c=d(b.getStyle(g),c);
                this.setValue(c)
            }
        },t,q=function(){
            var a=this.originalElement;
            a.setCustomData("isReady","true");
            a.removeListener("load",q);
            a.removeListener("error",h);
            a.removeListener("abort",h);
            CKEDITOR.document.getById(m).setStyle("display","none");
            this.dontResetSize||x(this);
            this.firstLoad&&CKEDITOR.tools.setTimeout(function(){
                l(this,"check")
            },
            0,this);
            this.dontResetSize=this.firstLoad=!1
        },h=function(){
            var a=this.originalElement;
            a.removeListener("load",q);
            a.removeListener("error",h);
            a.removeListener("abort",h);
            a=CKEDITOR.getUrl(CKEDITOR.plugins.get("image").path+"images/noimage.png");
            this.preview&&this.preview.setAttribute("src",a);
            CKEDITOR.document.getById(m).setStyle("display","none");
            l(this,!1)
        },n=function(a){
            return CKEDITOR.tools.getNextId()+"_"+a
        },p=n("btnLockSizes"),u=n("btnResetSize"),m=n("ImagePreviewLoader"),A=n("previewLink"),
        z=n("previewImage");
        return{
            
            title:c.lang.image["image"==j?"title":"titleButton"],
            minWidth:420,
            minHeight:360,
            onShow:function(){
                this.linkEditMode=this.imageEditMode=this.linkElement=this.imageElement=!1;
                this.lockRatio=!0;
                this.userlockRatio=0;
                this.dontResetSize=!1;
                this.firstLoad=!0;
                this.addLink=!1;
                var a=this.getParentEditor(),b=a.getSelection(),d=(b=b&&b.getSelectedElement())&&a.elementPath(b).contains("a",1);
                CKEDITOR.document.getById(m).setStyle("display","none");
                t=new CKEDITOR.dom.element("img",a.document);
                this.preview=CKEDITOR.document.getById(z);
                this.originalElement=a.document.createElement("img");
                this.originalElement.setAttribute("alt","");
                this.originalElement.setCustomData("isReady","false");
                if(d){
                    this.linkElement=d;
                    this.linkEditMode=!0;
                    var c=d.getChildren();
                    if(1==c.count()){
                        var g=c.getItem(0).getName();
                        if("img"==g||"input"==g)this.imageElement=c.getItem(0),"img"==this.imageElement.getName()?this.imageEditMode="img":"input"==this.imageElement.getName()&&(this.imageEditMode="input")
                    }
                    "image"==j&&
                    this.setupContent(2,d)
                }
                if(b&&"img"==b.getName()&&!b.data("cke-realelement")||b&&"input"==b.getName()&&"image"==b.getAttribute("type"))this.imageEditMode=b.getName(),this.imageElement=b;
                this.imageEditMode?(this.cleanImageElement=this.imageElement,this.imageElement=this.cleanImageElement.clone(!0,!0),this.setupContent(f,this.imageElement)):this.imageElement=a.document.createElement("img");
                l(this,!0);
                CKEDITOR.tools.trim(this.getValueOf("info","txtUrl"))||(this.preview.removeAttribute("src"),this.preview.setStyle("display",
                    "none"))
            },
            onOk:function(){
                if(this.imageEditMode){
                    var a=this.imageEditMode;
                    "image"==j&&"input"==a&&confirm(c.lang.image.button2Img)?(this.imageElement=c.document.createElement("img"),this.imageElement.setAttribute("alt",""),c.insertElement(this.imageElement)):"image"!=j&&"img"==a&&confirm(c.lang.image.img2Button)?(this.imageElement=c.document.createElement("input"),this.imageElement.setAttributes({
                        type:"image",
                        alt:""
                    }),c.insertElement(this.imageElement)):(this.imageElement=this.cleanImageElement,delete this.cleanImageElement)
                }else"image"==
                    j?this.imageElement=c.document.createElement("img"):(this.imageElement=c.document.createElement("input"),this.imageElement.setAttribute("type","image")),this.imageElement.setAttribute("alt","");
                this.linkEditMode||(this.linkElement=c.document.createElement("a"));
                this.commitContent(f,this.imageElement);
                this.commitContent(2,this.linkElement);
                this.imageElement.getAttribute("style")||this.imageElement.removeAttribute("style");
                this.imageEditMode?!this.linkEditMode&&this.addLink?(c.insertElement(this.linkElement),
                    this.imageElement.appendTo(this.linkElement)):this.linkEditMode&&!this.addLink&&(c.getSelection().selectElement(this.linkElement),c.insertElement(this.imageElement)):this.addLink?this.linkEditMode?c.insertElement(this.imageElement):(c.insertElement(this.linkElement),this.linkElement.append(this.imageElement,!1)):c.insertElement(this.imageElement)
            },
            onLoad:function(){
                "image"!=j&&this.hidePage("Link");
                var a=this._.element.getDocument();
                this.getContentElement("info","ratioLock")&&(this.addFocusable(a.getById(u),
                    5),this.addFocusable(a.getById(p),5));
                this.commitContent=r
            },
            onHide:function(){
                this.preview&&this.commitContent(8,this.preview);
                this.originalElement&&(this.originalElement.removeListener("load",q),this.originalElement.removeListener("error",h),this.originalElement.removeListener("abort",h),this.originalElement.remove(),this.originalElement=!1);
                delete this.imageElement
            },
            
            
            // ===============Here==================
            contents:[{
                id:"info",
                label:c.lang.image.infoTab,
                accessKey:"I",
                elements:[{
                    type:"vbox",
                    padding:0,
                    children:[{
                        type:"hbox",
                        widths:["280px",
                        "110px"],
                        align:"right",
                        children:[{
                            //=============================================================                       
                            id:"txtUrl",                          
                            type:"text",
                            label:c.lang.common.url,
                            required:!0,
                            
                            onChange:function(){
                                
                                var a=this.getDialog(),b=this.getValue();
                                if(0<b.length){
                                    var a=this.getDialog(),d=a.originalElement;
                                    a.preview.removeStyle("display");
                                    d.setCustomData("isReady","false");
                                    var c=CKEDITOR.document.getById(m);
                                    c&&c.setStyle("display","");
                                    d.on("load",q,a);
                                    d.on("error",h,a);
                                    d.on("abort",h,a);
                                    d.setAttribute("src",b);
                                    t.setAttribute("src",b);
                                    a.preview.setAttribute("src",t.$.src);
                                    g(a)
                                }else a.preview&&
                                    (a.preview.removeAttribute("src"),a.preview.setStyle("display","none"))
                            },
                            setup:function(a,b){
                                if(a==f){
                                    var d=b.data("cke-saved-src")||b.getAttribute("src");
                                   
                                    this.getDialog().dontResetSize=!0;
                                    this.setValue(d);
                                    this.setInitValue()
                                }
                            },
                            commit:function(a,b){
                                a==f&&(this.getValue()||this.isChanged())?(b.data("cke-saved-src",this.getValue()),b.setAttribute("src",this.getValue())):8==a&&(b.setAttribute("src",""),b.removeAttribute("src"))
                            },
                            validate:CKEDITOR.dialog.validate.notEmpty(c.lang.image.urlMissing)
                        },{
                            type:"button",
                            id:"browse",
                            style:"display:inline-block;margin-top:10px;",
                            align:"center",
                            label:c.lang.common.browseServer,
                            hidden:0,
                            filebrowser:"info:txtUrl"              
  
                        }]
                    }]
                //=====================================================================  
                },{
                    id:"txtAlt",
                    type:"text",
                    label:c.lang.image.alt,
                    accessKey:"T",
                    "default":"",
                    onChange:function(){
                        g(this.getDialog())
                    },
                    setup:function(a,b){
                        a==f&&this.setValue(b.getAttribute("alt"))
                    },
                    commit:function(a,b){
                        a==f?(this.getValue()||this.isChanged())&&b.setAttribute("alt",this.getValue()):4==a?b.setAttribute("alt",this.getValue()):8==a&&b.removeAttribute("alt")
                    }
                },

                {
                    type:"hbox",
                    children:[{
                        id:"basic",
                        type:"vbox",
                        children:[{
                            type:"hbox",
                            widths:["50%","50%"],
                            children:[{
                                type:"vbox",
                                padding:1,
                                children:[{
                                    type:"text",
                                    width:"40px",
                                    id:"txtWidth",
                                    label:c.lang.common.width,
                                    onKeyUp:w,
                                    onChange:function(){
                                        i.call(this,"advanced:txtdlgGenStyle")
                                    },
                                    validate:function(){
                                        var a=this.getValue().match(v);
                                        (a=!!(a&&0!==parseInt(a[1],10)))||alert(c.lang.common.invalidWidth);
                                        return a
                                    },
                                    setup:y,
                                    commit:function(a,b,d){
                                        var c=this.getValue();
                                        a==f?(c?b.setStyle("width",CKEDITOR.tools.cssLength(c)):
                                            b.removeStyle("width"),!d&&b.removeAttribute("width")):4==a?c.match(k)?b.setStyle("width",CKEDITOR.tools.cssLength(c)):(a=this.getDialog().originalElement,"true"==a.getCustomData("isReady")&&b.setStyle("width",a.$.width+"px")):8==a&&(b.removeAttribute("width"),b.removeStyle("width"))
                                    }
                                },{
                                    type:"text",
                                    id:"txtHeight",
                                    width:"40px",
                                    label:c.lang.common.height,
                                    onKeyUp:w,
                                    onChange:function(){
                                        i.call(this,"advanced:txtdlgGenStyle")
                                    },
                                    validate:function(){
                                        var a=this.getValue().match(v);
                                        (a=!!(a&&0!==parseInt(a[1],
                                            10)))||alert(c.lang.common.invalidHeight);
                                        return a
                                    },
                                    setup:y,
                                    commit:function(a,b,d){
                                        var c=this.getValue();
                                        a==f?(c?b.setStyle("height",CKEDITOR.tools.cssLength(c)):b.removeStyle("height"),!d&&b.removeAttribute("height")):4==a?c.match(k)?b.setStyle("height",CKEDITOR.tools.cssLength(c)):(a=this.getDialog().originalElement,"true"==a.getCustomData("isReady")&&b.setStyle("height",a.$.height+"px")):8==a&&(b.removeAttribute("height"),b.removeStyle("height"))
                                    }
                                }]
                            },{
                                id:"ratioLock",
                                type:"html",
                                style:"margin-top:30px;width:40px;height:40px;",
                                onLoad:function(){
                                    var a=CKEDITOR.document.getById(u),b=CKEDITOR.document.getById(p);
                                   
                                    a&&(a.on("click",function(a){
                                        x(this);
                                        
                                        a.data&&a.data.preventDefault()
                                    },this.getDialog()),a.on("mouseover",function(){
                                        this.addClass("cke_btn_over")
                                    },a),a.on("mouseout",function(){
                                        this.removeClass("cke_btn_over")
                                    },a));
                                    b&&(b.on("click",function(a){
                                        l(this);
                                        var b=this.originalElement,c=this.getValueOf("info","txtWidth");
                                        if(b.getCustomData("isReady")=="true"&&c){
                                            b=b.$.height/b.$.width*c;
                                            if(!isNaN(b)){
                                                this.setValueOf("info",
                                                    "txtHeight",Math.round(b));
                                                g(this)
                                            }
                                        }
                                        a.data&&a.data.preventDefault()
                                    },this.getDialog()),b.on("mouseover",function(){
                                        this.addClass("cke_btn_over")
                                    },b),b.on("mouseout",function(){
                                        this.removeClass("cke_btn_over")
                                    },b))
                                },
                                
                                html:'<div><a href="javascript:void(0)" tabindex="-1" title="'
                                +c.lang.image.lockRatio+'" class="cke_btn_locked" id="'+p+'" role="checkbox"><span class="cke_icon"></span><span class="cke_label">'+c.lang.image.lockRatio+'</span></a><a href="javascript:void(0)" tabindex="-1" title="'+c.lang.image.resetSize+
                                '" class="cke_btn_reset" id="'+u+'" role="button"><span class="cke_label">'+c.lang.image.resetSize+"</span></a></div>"
                            }]
                        },{
                            type:"vbox",
                            padding:1,
                            children:[{
                                type:"text",
                                id:"txtBorder",
                                width:"60px",
                                label:c.lang.image.border,
                                "default":"",
                                onKeyUp:function(){
                                    g(this.getDialog())
                                },
                                onChange:function(){
                                    i.call(this,"advanced:txtdlgGenStyle")
                                },
                                validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateBorder),
                                setup:function(a,b){
                                    if(a==f){
                                        var d;
                                        d=(d=(d=b.getStyle("border-width"))&&d.match(/^(\d+px)(?: \1 \1 \1)?$/))&&
                                        parseInt(d[1],10);
                                        isNaN(parseInt(d,10))&&(d=b.getAttribute("border"));
                                        this.setValue(d)
                                    }
                                },
                                commit:function(a,b,d){
                                    var c=parseInt(this.getValue(),10);
                                    a==f||4==a?(isNaN(c)?!c&&this.isChanged()&&b.removeStyle("border"):(b.setStyle("border-width",CKEDITOR.tools.cssLength(c)),b.setStyle("border-style","solid")),!d&&a==f&&b.removeAttribute("border")):8==a&&(b.removeAttribute("border"),b.removeStyle("border-width"),b.removeStyle("border-style"),b.removeStyle("border-color"))
                                }
                            },{
                                type:"text",
                                id:"txtHSpace",
                                width:"60px",
                                label:c.lang.image.hSpace,
                                "default":"",
                                onKeyUp:function(){
                                    g(this.getDialog())
                                },
                                onChange:function(){
                                    i.call(this,"advanced:txtdlgGenStyle")
                                },
                                validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateHSpace),
                                setup:function(a,b){
                                    if(a==f){
                                        var d,c;
                                        d=b.getStyle("margin-left");
                                        c=b.getStyle("margin-right");
                                        d=d&&d.match(o);
                                        c=c&&c.match(o);
                                        d=parseInt(d,10);
                                        c=parseInt(c,10);
                                        d=d==c&&d;
                                        isNaN(parseInt(d,10))&&(d=b.getAttribute("hspace"));
                                        this.setValue(d)
                                    }
                                },
                                commit:function(a,b,c){
                                    var e=parseInt(this.getValue(),
                                        10);
                                    a==f||4==a?(isNaN(e)?!e&&this.isChanged()&&(b.removeStyle("margin-left"),b.removeStyle("margin-right")):(b.setStyle("margin-left",CKEDITOR.tools.cssLength(e)),b.setStyle("margin-right",CKEDITOR.tools.cssLength(e))),!c&&a==f&&b.removeAttribute("hspace")):8==a&&(b.removeAttribute("hspace"),b.removeStyle("margin-left"),b.removeStyle("margin-right"))
                                }
                            },{
                                type:"text",
                                id:"txtVSpace",
                                width:"60px",
                                label:c.lang.image.vSpace,
                                "default":"",
                                onKeyUp:function(){
                                    g(this.getDialog())
                                },
                                onChange:function(){
                                    i.call(this,
                                        "advanced:txtdlgGenStyle")
                                },
                                validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateVSpace),
                                setup:function(a,b){
                                    if(a==f){
                                        var c,e;
                                        c=b.getStyle("margin-top");
                                        e=b.getStyle("margin-bottom");
                                        c=c&&c.match(o);
                                        e=e&&e.match(o);
                                        c=parseInt(c,10);
                                        e=parseInt(e,10);
                                        c=c==e&&c;
                                        isNaN(parseInt(c,10))&&(c=b.getAttribute("vspace"));
                                        this.setValue(c)
                                    }
                                },
                                commit:function(a,b,c){
                                    var e=parseInt(this.getValue(),10);
                                    a==f||4==a?(isNaN(e)?!e&&this.isChanged()&&(b.removeStyle("margin-top"),b.removeStyle("margin-bottom")):
                                        (b.setStyle("margin-top",CKEDITOR.tools.cssLength(e)),b.setStyle("margin-bottom",CKEDITOR.tools.cssLength(e))),!c&&a==f&&b.removeAttribute("vspace")):8==a&&(b.removeAttribute("vspace"),b.removeStyle("margin-top"),b.removeStyle("margin-bottom"))
                                }
                            },{
                                id:"cmbAlign",
                                type:"select",
                                widths:["35%","65%"],
                                style:"width:90px",
                                label:c.lang.common.align,
                                "default":"",
                                items:[[c.lang.common.notSet,""],[c.lang.common.alignLeft,"left"],[c.lang.common.alignRight,"right"]],
                                onChange:function(){
                                    g(this.getDialog());
                                    i.call(this,
                                        "advanced:txtdlgGenStyle")
                                },
                                setup:function(a,b){
                                    if(a==f){
                                        var c=b.getStyle("float");
                                        switch(c){
                                            case "inherit":case "none":
                                                c=""
                                        }!c&&(c=(b.getAttribute("align")||"").toLowerCase());
                                        this.setValue(c)
                                    }
                                },
                                commit:function(a,b,c){
                                    var e=this.getValue();
                                    if(a==f||4==a){
                                        if(e?b.setStyle("float",e):b.removeStyle("float"),!c&&a==f)switch(e=(b.getAttribute("align")||"").toLowerCase(),e){
                                            case "left":case "right":
                                                b.removeAttribute("align")
                                        }
                                    }else 8==a&&b.removeStyle("float")
                                }
                            }]
                        }]
                    },{
                        type:"vbox",
                        height:"250px",
                        children:[{
                            type:"html",
                            id:"htmlPreview",
                            style:"width:95%;",
                            html:"<div>"
                            +CKEDITOR.tools.htmlEncode(c.lang.common.preview)+
                            '<br><div id="'+m+
                            '" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div><div class="ImagePreviewBox">\n\
        <table><tr><td><a href="javascript:void(0)" target="_blank" onclick="return false;" id="'+A+'"><img id="'+z+'" alt="" /></a>'+(c.config.image_previewText||" Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.")+
                            "</td></tr></table></div></div>"
                        }]
                    }]
                }]
            },
            
            //==============================================================
            {
                id:"Link",
                label:c.lang.image.linkTab,
                padding:0,
                elements:[{
                    id:"txtUrl",
                    type:"text",
                    label:c.lang.common.url,
                    style:"width: 100%",
                    "default":"",
                    setup:function(a,b){
                        if(2==a){
                            var c=b.data("cke-saved-href");
                            c||(c=b.getAttribute("href"));
                            this.setValue(c)
                        }
                    },
                    commit:function(a,b){
                        if(2==a&&(this.getValue()||this.isChanged())){
                            var d=decodeURI(this.getValue());
                            b.data("cke-saved-href",d);
                            b.setAttribute("href",d);
                            if(this.getValue()||!c.config.image_removeLinkByEmptyURL)this.getDialog().addLink=
                                !0
                        }
                    }
                },{
                    type:"button",
                    id:"browse",
                    filebrowser:{
                        action:"Browse",
                        target:"Link:txtUrl",
                        url:c.config.filebrowserImageBrowseLinkUrl
                    },
                    style:"float:right",
                    hidden:!0,
                    label:c.lang.common.browseServer
                },{
                    id:"cmbTarget",
                    type:"select",
                    label:c.lang.common.target,
                    "default":"",
                    items:[[c.lang.common.notSet,""],[c.lang.common.targetNew,"_blank"],[c.lang.common.targetTop,"_top"],[c.lang.common.targetSelf,"_self"],[c.lang.common.targetParent,"_parent"]],
                    setup:function(a,b){
                        2==a&&this.setValue(b.getAttribute("target")||
                            "")
                    },
                    commit:function(a,b){
                        2==a&&(this.getValue()||this.isChanged())&&b.setAttribute("target",this.getValue())
                    }
                }]
            },{
                id:"Upload",
                hidden:0,
                filebrowser:"uploadButton",
                label:c.lang.image.upload,
                elements:[{
                    type:"file",
                    id:"upload",
                    label:c.lang.image.btnUpload,
                    
                    style:"height:40px",
                    size:38
                },{
                    type:"fileButton",
                    id:"uploadButton",
                    filebrowser:"info:txtUrl",
                    label:c.lang.image.btnUpload,
                    "for":["Upload","upload"]
                }]
            },{
                id:"advanced",
                label:c.lang.common.advancedTab,
                elements:[{
                    type:"hbox",
                    widths:["50%","25%","25%"],
                    children:[{
                        type:"text",
                        id:"linkId",
                        label:c.lang.common.id,
                        setup:function(a,b){
                            a==f&&this.setValue(b.getAttribute("id"))
                        },
                        commit:function(a,b){
                            a==f&&(this.getValue()||this.isChanged())&&b.setAttribute("id",this.getValue())
                        }
                    },{
                        id:"cmbLangDir",
                        type:"select",
                        style:"width : 100px;",
                        label:c.lang.common.langDir,
                        "default":"",
                        items:[[c.lang.common.notSet,""],[c.lang.common.langDirLtr,"ltr"],[c.lang.common.langDirRtl,"rtl"]],
                        setup:function(a,b){
                            a==f&&this.setValue(b.getAttribute("dir"))
                        },
                        commit:function(a,
                            b){
                            a==f&&(this.getValue()||this.isChanged())&&b.setAttribute("dir",this.getValue())
                        }
                    },{
                        type:"text",
                        id:"txtLangCode",
                        label:c.lang.common.langCode,
                        "default":"",
                        setup:function(a,b){
                            a==f&&this.setValue(b.getAttribute("lang"))
                        },
                        commit:function(a,b){
                            a==f&&(this.getValue()||this.isChanged())&&b.setAttribute("lang",this.getValue())
                        }
                    }]
                },{
                    type:"text",
                    id:"txtGenLongDescr",
                    label:c.lang.common.longDescr,
                    setup:function(a,b){
                        a==f&&this.setValue(b.getAttribute("longDesc"))
                    },
                    commit:function(a,b){
                        a==f&&(this.getValue()||
                            this.isChanged())&&b.setAttribute("longDesc",this.getValue())
                    }
                },{
                    type:"hbox",
                    widths:["50%","50%"],
                    children:[{
                        type:"text",
                        id:"txtGenClass",
                        label:c.lang.common.cssClass,
                        "default":"",
                        setup:function(a,b){
                            a==f&&this.setValue(b.getAttribute("class"))
                        },
                        commit:function(a,b){
                            a==f&&(this.getValue()||this.isChanged())&&b.setAttribute("class",this.getValue())
                        }
                    },{
                        type:"text",
                        id:"txtGenTitle",
                        label:c.lang.common.advisoryTitle,
                        "default":"",
                        onChange:function(){
                            g(this.getDialog())
                        },
                        setup:function(a,b){
                            a==f&&this.setValue(b.getAttribute("title"))
                        },
                        commit:function(a,b){
                            a==f?(this.getValue()||this.isChanged())&&b.setAttribute("title",this.getValue()):4==a?b.setAttribute("title",this.getValue()):8==a&&b.removeAttribute("title")
                        }
                    }]
                },{
                    type:"text",
                    id:"txtdlgGenStyle",
                    label:c.lang.common.cssStyle,
                    validate:CKEDITOR.dialog.validate.inlineStyle(c.lang.common.invalidInlineStyle),
                    "default":"",
                    setup:function(a,b){
                        if(a==f){
                            var c=b.getAttribute("style");
                            !c&&b.$.style.cssText&&(c=b.$.style.cssText);
                            this.setValue(c);
                            var e=b.$.style.height,c=b.$.style.width,
                            e=(e?e:"").match(k),c=(c?c:"").match(k);
                            this.attributesInStyle={
                                height:!!e,
                                width:!!c
                            }
                        }
                    },
                    onChange:function(){
                        i.call(this,"info:cmbFloat info:cmbAlign info:txtVSpace info:txtHSpace info:txtBorder info:txtWidth info:txtHeight".split(" "));
                        g(this)
                    },
                    commit:function(a,b){
                        a==f&&(this.getValue()||this.isChanged())&&b.setAttribute("style",this.getValue())
                    }
                }]
            }]
        }
    };

    CKEDITOR.dialog.add("image",function(c){
        return r(c,"image")
    });
    CKEDITOR.dialog.add("imagebutton",function(c){
        return r(c,"imagebutton")
    })
})();